The present invention relates to a priority-enabled switching apparatus and method for use in data communication networks and in particular, to a switching apparatus and method capable of multiple priority switching.
In data communication networks, in particular local area networks (LANs) and wide area networks (WANs), the network infrastructure is built using equipment such as hubs and switches which link terminals to a network backbone and telecommunications links, thereby allowing the terminals to communicate with each other by some direct or indirect link, dependent on the network topology. Data is transmitted across networks as a series of packets. Packets are generated by a source such as a terminal or server attached to a port of a hub or switch and are transmitted individually across the network to a destination.
As the number of bytes to be transmitted varies for different types of traffic, several measures are used in networks to standardize packet sizes. Small data elements may be packeted together into larger ones, of a single standard cell size and large data elements may be divided into several smaller ones of this same standard cell size.
In data network terms, a data unit referred to as a packet is part of a larger coherent information item such as a file or communication session. A packet can be of variable length, for example ranging from small packets of 40 bytes to large packets of 64000 bytes or more. Each packet carries an identifier which is used to identify the route to be used to pass the packet through the data network and a length identifier or some form of explicit start and end pattern. A data unit referred to as a cell is typically of a fixed, normally small (64 bytes), length and is part of a coherent information item such as a packet or communication connection. Cells carry an identifier which is used to identify the route to be used to pass the cell through the data network. Cells are delineated by a cell synchronism mechanism. In certain cases, a cell's length may be variable, in which case the length of calls is explicitly defined in a variable associated with the communication. Data units referred to as slots are of small (normally around 8 bytes), fixed length and are part of a larger coherent information item such as a cell or packet. Slots do not carry an identifier. Identification is determined by a slot's payload or the payload of some preceding slot. Slots are delineated by special patterns within their payloads.
Cell size in network systems is balanced according to the requirements of the network. In particular, the following factors must be considered: the size of the cell needs to be small enough to keep the packaging delay low, to maximize the acceptable load on the transmission links between waiting queues, and furthermore, to keep the delay (variation) of high priority cells caused by low priority cells low. Since the physical memory containing the queues has a given, finite size, the smaller the elements in the queue, the more can fit in the same memory, and the higher the load on the outgoing transmission link of the queue will be, thereby improving the efficiency of the system. On the other hand, cell size needs to be large enough for transport efficiency. In addition, the segmentation of information blocks for switching into smaller chunks, each with their own segmentation overhead, creates additional overhead. The segmentation overhead includes segment delineation, segment protection, communication stream identification, communication stream maintenance and service adaptation layer information.
In the applicant's Multi-Path Self Routing system (MPSR), information is transferred in Multi-Slot Cells (MSC), allowing a certain flexibility in cell size, to adapt it better to the intrinsic nature of the information transported. This allows small cells to be used for delay sensitive services, and large cells for efficiency sensitive services. Nevertheless, the size variation remains bounded for the following reasons:
(1) The queue memory size necessary to achieve a high load on transmission links, using large cells. This limitation can be relaxed however by advances in technology, which are making it possible to increase the size of memory at ever decreasing cost.
(2) The delay incurred by incoming high priority traffic while sending a low priority cell from a queue. This delay depends on the size of the low priority MSC, which cannot be too large in order not to disturb any higher priority MSC flow by too much. Alleviation of this limitation is harder to achieve since it would require an increase in memory speed and MSC processing speed.
As it is transmitted, each packet is given a destination address in a header field. When a data packet arrives at a switching unit it is examined and processed according to the programming of the switching unit. Switches map the addresses of attached terminals and then only allow necessary traffic to pass through the switch.
A switch typically includes at least 2 input/output ports and at least one processor. Whilst there may be physically separate input and output ports for each terminal or link these are commonly shown as one port. Each port has an associated queue in a memory in which packets received from or to be transmitted to the port are held. Packets arriving at an input queue of a switch wait in turn for a processor to determine the appropriate output queue, if any, before being passed to that queue.
Prioritized switching is often implemented in the form of Quality of Service (QoS) policies. By temporarily storing packets for non-delay sensitive communication in switching elements or network nodes until transmission capacity is no longer needed by higher priority communication packets, and is thus available for the lower priority packets, problems associated with congested data networks are often eased. However, even with the preferred transmission of high priority cells from a waiting queue over a transmission link, once transmission of a low priority cell is started, any new arriving high priority cells have to wait until the full low priority cell is gone, before they can benefit from their high priority status for getting access first to the transmission resource.